In a spread spectrum communication system, downlink transmissions from a base station to a mobile station include a pilot channel and a plurality of traffic channels. The pilot channel is demodulated by all users. Each traffic channel is intended for demodulation by a single user, though more than one channel may be intended for a given user. Therefore, each traffic channel is spread using a unique code known by both the base station and the mobile station. The pilot channel is spread using a code known by the base station and all mobile stations. Multiplication of the pilot channel and traffic channel symbols by unique code sequences comprised of chips having duration much less than the symbol duration spreads the spectrum of transmissions in the system.
One example of a spread spectrum communication system is a cellular radiotelephone system according to Telecommunications Industry Association/Electronic Industry Association (TIA/EIA) Interim Standard IS-95, “Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System” (IS-95). Individual users in the system use the same frequency spectrum but are distinguishable from each other through the use of individual spreading codes. IS-95 is an example of a direct sequence code division multiple access (DS-CDMA) communication system. In a DS-CDMA system, transmissions are spread by a pseudorandom noise (PN) code. Data is spread by a sequence of chips, where the chip is the spread spectrum minimal-duration keying element.
Other spread spectrum systems include radiotelephone and data systems operating at various frequencies and utilizing various spreading techniques. Among these additional systems are third-generation spread spectrum communication systems (3G), wideband code division multiple access systems (W-CDMA) and CDMA2000.
As allowed in IS-95 and the other direct sequence spread spectrum communication protocols, the forward link frames can be at one of four possible rates: full-rate, half-rate, quarter-rate and eighth-rate. In existing receivers, a rate determination algorithm is used to determine that rate at which the forward link frames are encoded. As is generally practiced, the received frames are decoded at each of the four possible rates using a Viterbi decoder. Typically, the inputs to the rate determination algorithm include the cyclical redundancy check (CRC) data appended to the full and half-rate frames, estimates of the channel symbol error rates based on re-encoding the Viterbi decoder output, quality bits associated with the distance between merging paths in the decoder trellis, and the total Euclidean distance between the output of the receiver and the decoded codeword.
This process is inefficient. It suffers from added current drain associated with the multiple decodings and may require a faster clock and additional circuitry. The frame needs only to be decoded once to obtain the coded data, but at the correct rate. Decoding at the wrong rate results in unusable data. Various approaches have been suggested to predict the frame rate prior to decoding, but in most instances these approaches are computationally complex and are not sufficiently reliable.
Thus, there is a need for a spread spectrum receiver that provides-pre-decoding rate determination.